home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 2.0 Developer Kit / QuickTime 2.0 Developer Kit.iso / mac / MAC / Programming Stuff / Interfaces / CIncludes / Disks.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-11  |  2.3 KB  |  105 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Disks.h
  3.  
  4.      Copyright:    © 1984-1994 by Apple Computer, Inc.
  5.                  All rights reserved.
  6.  
  7.      Version:    Universal Interfaces 2.0a3  ETO #16, MPW prerelease.  Friday, November 11, 1994. 
  8.  
  9.      Bugs?:        If you find a problem with this file, send the file and version
  10.                  information (from above) and the problem description to:
  11.  
  12.                      Internet:    apple.bugs@applelink.apple.com
  13.                      AppleLink:    APPLE.BUGS
  14.  
  15. */
  16.  
  17. #ifndef __DISKS__
  18. #define __DISKS__
  19.  
  20.  
  21. #ifndef __TYPES__
  22. #include <Types.h>
  23. #endif
  24. /*    #include <ConditionalMacros.h>                                */
  25.  
  26. #ifndef __OSUTILS__
  27. #include <OSUtils.h>
  28. #endif
  29. /*    #include <MixedMode.h>                                        */
  30. /*    #include <Memory.h>                                            */
  31.  
  32. #ifdef __cplusplus
  33. extern "C" {
  34. #endif
  35.  
  36. #if GENERATINGPOWERPC
  37. #pragma options align=mac68k
  38. #endif
  39.  
  40. #ifdef __CFM68K__
  41. #pragma lib_export on
  42. #endif
  43.  
  44.  
  45. enum {
  46.     sony,
  47.     hard20
  48. };
  49.  
  50. struct DrvSts {
  51.     short                            track;                        /* current track */
  52.     char                            writeProt;                    /* bit 7 = 1 if volume is locked */
  53.     char                            diskInPlace;                /* disk in drive */
  54.     char                            installed;                    /* drive installed */
  55.     char                            sides;                        /* -1 for 2-sided, 0 for 1-sided */
  56.     QElemPtr                        qLink;                        /* next queue entry */
  57.     short                            qType;                        /* 1 for HD20 */
  58.     short                            dQDrive;                    /* drive number */
  59.     short                            dQRefNum;                    /* driver reference number */
  60.     short                            dQFSID;                        /* file system ID */
  61.     char                            twoSideFmt;                    /* after 1st rd/wrt: 0=1 side, -1=2 side */
  62.     char                            needsFlush;                    /* -1 for MacPlus drive */
  63.     short                            diskErrs;                    /* soft error count */
  64. };
  65. typedef struct DrvSts DrvSts;
  66.  
  67. struct DrvSts2 {
  68.     short                            track;
  69.     char                            writeProt;
  70.     char                            diskInPlace;
  71.     char                            installed;
  72.     char                            sides;
  73.     QElemPtr                        qLink;
  74.     short                            qType;
  75.     short                            dQDrive;
  76.     short                            dQRefNum;
  77.     short                            dQFSID;
  78.     short                            driveSize;
  79.     short                            driveS1;
  80.     short                            driveType;
  81.     short                            driveManf;
  82.     short                            driveChar;
  83.     char                            driveMisc;
  84.     SInt8                            filler;
  85. };
  86. typedef struct DrvSts2 DrvSts2;
  87.  
  88. extern pascal OSErr DiskEject(short drvNum);
  89. extern pascal OSErr SetTagBuffer(void *buffPtr);
  90. extern pascal OSErr DriveStatus(short drvNum, DrvSts *status);
  91.  
  92. #ifdef __CFM68K__
  93. #pragma lib_export off
  94. #endif
  95.  
  96. #if GENERATINGPOWERPC
  97. #pragma options align=reset
  98. #endif
  99.  
  100. #ifdef __cplusplus
  101. }
  102. #endif
  103.  
  104. #endif /* __DISKS__ */
  105.